﻿namespace AgileBoard.Domain
{
    using System;
    using SharpArch.Core.DomainModel;

    [Serializable]
    public class WorkItem : Entity
    {
        /// <summary>
        /// Created Date
        /// </summary>
        public virtual DateTime CreateTime { get; set; }

        /// <summary>
        /// Created by
        /// </summary>
        public virtual string Creator { get; set; }

        /// <summary>
        /// Task ID
        /// </summary>
        public virtual Guid WorkItemID { get; set; }

        /// <summary>
        /// Story ID
        /// </summary>
        public virtual string StoryID { get; set; }

        /// <summary>
        /// Status ID
        /// </summary>
        public virtual string StatusID { get; set; }

        /// <summary>
        /// Task name
        /// </summary>
        public virtual string Name { get; set; }

        /// <summary>
        /// color
        /// </summary>
        public virtual string Color { get; set; }

        /// <summary>
        /// Task size
        /// </summary>
        public virtual Decimal Evaluation { get; set; }

        /// <summary>
        /// Task size
        /// </summary>
        public virtual Decimal Beyond { get; set; }

        ///// <summary>
        ///// Is initial task
        ///// </summary>
        //public virtual System.bool Primary
        //{
        //    get;
        //    set;
        //}


        /// <summary>
        /// assigned to 
        /// </summary>
        public virtual string AssignedTo { get; set; }

        ///// <summary>
        ///// Create date
        ///// </summary>
        //public virtual System.DateTime CreateDate
        //{
        //    get;
        //    set;
        //}

        ///// <summary>
        ///// Create date
        ///// </summary>
        //public virtual System.DateTime StartDate
        //{
        //    get;
        //    set;
        //}

        ///// <summary>
        ///// Create date
        ///// </summary>
        //public virtual System.DateTime FinishDate
        //{
        //    get;
        //    set;
        //}

        ///// <summary>
        ///// Create date
        ///// </summary>
        //public virtual System.DateTime Target
        //{
        //    get;
        //    set;
        //}


        /// <summary>
        /// tag
        /// </summary>
        public virtual string Card { get; set; }

        /// <summary>
        /// Full size
        /// </summary>
        public virtual string Observations { get; set; }
    }
}